@echo off
REM 修复pom.xml文件，添加必要的依赖项

REM 检查pom.xml文件是否存在
IF NOT EXIST pom.xml (
    echo 错误：pom.xml文件不存在！
    pause
    exit /b 1
)

REM 备份原始pom.xml文件
copy pom.xml pom.xml.bak > nul
IF %ERRORLEVEL% NEQ 0 (
    echo 错误：无法创建pom.xml的备份！
    pause
    exit /b 1
)

REM 使用PowerShell替换文件内容
powershell -Command "
$pomContent = Get-Content -Path 'pom.xml' -Raw
$newContent = $pomContent -replace '</properties>\s*</project>', '</properties>\n\n    <dependencies>\n        <!-- MySQL驱动包 -->\n        <dependency>\n            <groupId>mysql</groupId>\n            <artifactId>mysql-connector-java</artifactId>\n            <version>8.0.33</version>\n        </dependency>\n\n        <!-- MyBatis核心包 -->\n        <dependency>\n            <groupId>org.mybatis</groupId>\n            <artifactId>mybatis</artifactId>\n            <version>3.5.13</version>\n        </dependency>\n\n        <!-- JUnit测试包 -->\n        <dependency>\n            <groupId>org.junit.jupiter</groupId>\n            <artifactId>junit-jupiter-api</artifactId>\n            <version>5.9.2</version>\n            <scope>test</scope>\n        </dependency>\n        <dependency>\n            <groupId>org.junit.jupiter</groupId>\n            <artifactId>junit-jupiter-engine</artifactId>\n            <version>5.9.2</version>\n            <scope>test</scope>\n        </dependency>\n    </dependencies>\n\n</project>'
Set-Content -Path 'pom.xml' -Value $newContent
"

IF %ERRORLEVEL% NEQ 0 (
    echo 错误：无法更新pom.xml文件！
    pause
    exit /b 1
)

REM 添加修复脚本到.gitignore（如果不存在）
IF NOT EXIST .gitignore (
    echo fix_pom_xml.bat > .gitignore
    echo fix_pom_xml.sh >> .gitignore
) ELSE (
    findstr /i "fix_pom_xml.bat" .gitignore > nul
    IF %ERRORLEVEL% NEQ 0 (
        echo fix_pom_xml.bat >> .gitignore
        echo fix_pom_xml.sh >> .gitignore
    )
)

echo pom.xml文件修复成功！已添加所有必要的依赖项。
echo 原始文件已备份为pom.xml.bak
echo 
echo 请在IDE中刷新Maven项目以加载新的依赖项。
pause